<?php
/**
 * SocialEngine
 *
 * @category   Application_Core
 * @package    Core
 * @copyright  Copyright 2006-2010 Webligo Developments
 * @license    http://www.socialengine.net/license/
 * @version    $Id: Create.php 7298 2010-09-06 05:52:07Z john $
 * @author     John
 */

/**
 * @category   Application_Core
 * @package    Core
 * @copyright  Copyright 2006-2010 Webligo Developments
 * @license    http://www.socialengine.net/license/
 */
class Core_Form_Admin_Language_Create extends Engine_Form {
	public function init() {
		$this->setTitle ( 'Language Manager' )->setDescription ( 'Create a new language pack' )->setAction ( Zend_Controller_Front::getInstance ()->getRouter ()->assemble ( array () ) );
		
		$localeObject = Zend_Registry::get ( 'Locale' );
		
		$languages = Zend_Locale::getTranslationList ( 'language', $localeObject );
		$territories = Zend_Locale::getTranslationList ( 'territory', $localeObject );
		
		$localeMultiOptions = array ();
		foreach ( array_keys ( Zend_Locale::getLocaleList () ) as $key ) {
			$languageName = null;
			if (! empty ( $languages [$key] )) {
				$languageName = $languages [$key];
			} else {
				$tmpLocale = new Zend_Locale ( $key );
				$region = $tmpLocale->getRegion ();
				$language = $tmpLocale->getLanguage ();
				if (! empty ( $languages [$language] ) && ! empty ( $territories [$region] )) {
					$languageName = $languages [$language] . ' (' . $territories [$region] . ')';
				}
			}
			
			if ($languageName) {
				$localeMultiOptions [$key] = $languageName . ' [' . $key . ']';
			}
		}
		
		//asort($languageNameList);
		

		$this->addElement ( 'Select', 'language', array ('label' => 'Language', 'description' => 'Which language do you want to create a language pack for?', 'multiOptions' => $localeMultiOptions ) );
		
		// Init submit
		$this->addElement ( 'Button', 'submit', array ('label' => 'Create', 'type' => 'submit', 'decorators' => array ('ViewHelper' ) ) );
		
		$this->addElement ( 'Cancel', 'cancel', array ('prependText' => ' or ', 'link' => true, 'label' => 'cancel', 'onclick' => 'history.go(-1); return false;', 'decorators' => array ('ViewHelper' ) ) );
	}
}